ATCA architecture is an important hardware architecture for many telecom ATCA equipments. An ATCA architecture based equipment (hereinafter referred to as ATCA equipment) has low cost and high flexibility.
Generally, the ATCA equipment may be in the form of slot blade server. An ATCA chassis can host tens of blades (i.e., means for executing different functions) and the same or different application can run on each blade. FIG. 1 shows a typical ATCA equipment with two control blades A, B, ten real time blades C, D, E, F, G, H, I, J, K, L and two switch blades S arranged on the chassis. The control blades are used to manage all the other blades in the ATCA equipment. The real time blades are used to process communication traffic or host data. The switch blades are used to connect all these blades together to communicate with an external device. For every incoming packet, the control blades determine which real time blade could be assigned to handle it. When a new application is initiated, it is necessary to identify the real time blades available to be responsible for processing packets of the new application.
Therefore, the ATCA equipment needs to consider load balance and admission control mechanism for the blades to make efficient utilization of processing capabilities of all these blades. In addition, with more and more applications deployed in an ATCA chassis, how to make the best use of the ATCA equipment's capacity and how to schedule and balance requests from different applications is a key point.
Thus, the problem which needs to be solved is how to schedule and balance the requests from multiple applications to one blade of the ATCA equipment such that the whole ATCA equipment has optimum robustness and capacity.
Existing methods for scheduling communication traffic mainly include round robin method, weighted round robin method and CPU load based scheduling method. The existing scheduling methods will be briefly described as follows.
1. Round Robin Method
The Round Robin method is a static load balancing algorithm which does not take into consideration the current spare capacity of the respective traffic processing blades when assigning the new traffic, but instead distributes the workload to the traffic processing blades averagely. In this method, the traffic processing blades are selected sequentially in a cycle.
If the Round Robin method is used, the incoming packets will be distributed to each available traffic process blade one by one. For a given time period, the difference between the number of packets processed on the respective traffic processing blades is less than 1. The Round robin method works well in a system with traffic processing blades having the same configuration and the same running environment.
But for the ATCA equipment, each traffic processing blade is an autonomy system and the application running on each blade can be different. In such a case, the traffic processing blades are asymmetric configured blades, that is, the applications running on some traffic processing blades are more than those on other traffic processing blades so that the modules of an application running on these traffic processing blades are more than those on the other traffic processing blades.
FIG. 2 is a schematic diagram of a case where the Round Robin method is used in an ATCA equipment with asymmetric configured traffic processing blades. As shown in FIG. 2, Home Subscriber Server HSS application is running on the traffic processing blades E and F, 3GPP Long Term Evolution (LTE) application is running on the traffic processing blades K and L, and Home Location Register HLR application and Mobile Number Portability MNP application are running on all traffic processing blades. In such a case, when the Round Robin method is used, there exists the situation where the resource usage of each traffic processing blade is uneven. For those traffic processing blades on which more applications are running, the CPU usage must be higher than others (see FIG. 2). It is easy to cause congestion and instability of the ATCA equipment so that the whole ATCA equipment utilization is low.
2. Weighted Round Robin Method
The Weighted Round Robin method is an extension of the Round Robin method. In this method, each traffic processing blade is assigned with a certain weight. The weight indicates processing capacity of the traffic processing blade. The weight can be preconfigured or dynamically changed. Assumed that is the weight of the application j on the traffic processing blade i. For each period, the traffic Tij can be distributed based on the weight:
      T    ij    =      T    *          (                        w          ij                /                              ∑                          i              =              1                                      N              j                                ⁢                      w            ij                              )      Where the control target is that the traffic on each traffic processing blade is even:
      T          target      ,      j        =      (                  ∑                  i          =          1                          N          j                    ⁢              T        ij              )  
The Weighted Round Robin method becomes dynamic if individual servers' capacities and their loads can be evaluated periodically. However, the Weighted Round Robin method is not efficient and cost-effective as it is hard to decide flexibly the weight of each traffic processing blade before the ATCA equipment receives the traffic. For example, if the control target is CPU balance, it needs experience to map the CPU usage with the application's communication traffic which is not flexible since the mixing of different communication traffic of the application may consume different CPU load.
3. CPU Load based Method
The CPU load (usage) based method is a dynamic (adaptive) traffic scheduling method, and schedules the communication traffic based on the changing CPU usage. The objective of this method is to make all the traffic processing blades support the same CPU usage and make decisions based on the changes in the total CPU usage. FIG. 3 shows a case where the CPU Load based method is used in the ATCA equipment with asymmetric configured blades.
With the CPU load based scheduling method, all the traffic processing blades have balanced CPU usages and may have higher capacity than any other methods which have uneven CPU usages. But in this scheduling method, the CPU usage of the ATCA equipment is shared by many tasks which may or may not be controlled by the applications contracted with customers. The capacity and throughput of the ATCA equipment is not only decided by the CPU capability but also has relationship with disk I/O rate, communication bandwidth, etc. The CPU usage of the applications on a blade is decided by the built in scheduling algorithms of an operation system and these scheduling methods not only take into consideration applications running on the operation system but also many systems related management and monitoring tasks, such that the CPU usage assigned to a specific application is impacted by predefined priority, dynamic running environment, as well as some unpredictable interrupts. Thus, the processing capability to the same application on different traffic processing blades is neither guaranteed to be the same nor to be stable all the time.
With the CPU load based scheduling method, each traffic processing blade must have the same processing capability for each application and the CPU usage assigned to each application must be stable and the disk I/O rate, transmission bandwidth of all traffic processing blades must also be the same. Otherwise the quality of service of an application on one blade might be worse than the other blades. For example, in FIG. 3, the traffic processing blade D is configured to write trace files upon receiving requests and the other traffic processing blades are configured only to receive requests and send responses. As the disk I/O takes long response time, the CPU usage of the traffic processing blade D is less than the other traffic processing blades, so more customer requests are distributed to the traffic processing blade D by the CPU load based scheduling method. Thus, if 1% requests coming to the traffic processing blade D are rejected because of queue length overflow while the other traffic processing blades have no requests failed, since the requests to the traffic processing blade D are more than those to the other traffic processing blades, the quality of service of the whole ATCA equipment is in the level of 1E-2 though the other traffic processing blades have better quality of service and processing capability.
So if the CPU usages of all traffic processing blades being balanced is the objective, it may result in some applications on some traffic processing blades have worse quality of service than the applications on the other traffic processing blades. But for the customers, the quality of service of the whole ATCA equipment is the most important; the degradation of the quality of service on one of these traffic processing blades can result in the conclusion that the quality of service of the whole ATCA equipment is degraded. The similar problems also exist for the Round Robin method and the Weighted Round Robin method.